// backendPkg/pages/userManage/userManage.js
//var app = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    //存储用户记录
    //  array:[{username:'小明',phone:'123',status:'正常'},{username:'小红',phone:'456',status:'正常'},{username:'小王',phone:'789',status:'正常'}],
     array: [],//全部用户
     normalArray:[],//正常状态
     disabledArray: [] // 存储被禁用的用户的数组
  },
  disableUser: function(e) {


    let wxid = e.currentTarget.dataset.param;
    let user = this.data.array.find(user => user.wxid === wxid);
    if (user.status === false) {
      wx.showToast({
        title: '该用户状态已经被禁用',
        icon: 'none',
        duration: 2000
      });
    }
      else {
      user.status = false;
      this.data.disabledArray.push(user);
      this.data.normalArray =  this.data.normalArray.filter(user => user.wxid !== wxid);
      const newStatus = {
          id: wxid, // 要更新的对象的 wxid
          ...user, // 对象的其他属性
          status: false // 新的身份
        };
        const url = 'http://8.219.238.141/user/updateUserStatus'; 
    
        // 发送 POST 请求到后端来更新数据库
        wx.request({
          url: `${url}?wxid=${wxid}`, // 在 URL 中添加 id 
          method: 'POST',
          data: JSON.stringify(newStatus), // 将数据转换为 JSON 字符串
          header: {
        'Content-Type': 'application/json' // 设置请求头
      },
          success(res) {
            console.log(res);
            wx.showToast({
              title: '禁用成功',
              icon: 'success',
              duration: 2000
            });
          },
          fail() {
            console.log('更新数据库失败');
          }
        });
      }
    // 重新渲染用户界面
    this.setData({
      array:  this.data.array,
      normalArray:  this.data.normalArray,
      disabledArray:  this.data.disabledArray
    });
  },
  deleteUser(e) {
    // 获取当前记录的索引值
    let wxid = e.currentTarget.dataset.param;
    console.log(wxid);
    
    const url = 'http://8.219.238.141/user/deleteUser';
    wx.request({
      url: `${url}?wxid=${wxid}`, 
      method: 'DELETE',
      success: (res) => {
        console.log(res);
        if (res.data.msg === 'success') {
          wx.showToast({
            title: '删除成功',
            icon: 'success'
          });
          // 从数组中删除该元素
          this.data.array.splice(wxid, 1);
          // 更新页面数据
          this.setData({
            array: this.data.array,
            normalArray: this.data.normalArray,
            disabledArray: this.data.disabledArray
          });
        } else {
          wx.showToast({
            title: '删除失败',
            icon: 'none'
          });
        }
      }
    });
  },
  
enableUser: function(e) {

  let wxid = e.currentTarget.dataset.param;
  let user = this.data.array.find(user => user.wxid === wxid);
   // 改变用户的状态
  user.status = true;
  this.data.normalArray.push(user);
  this.data.disabledArray =  this.data.disabledArray.filter(user => user.wxid !== wxid);
  //更新数据库
  const newStatus = {
    wxid: wxid, // 要更新的对象的 id
    ...user, // 对象的其他属性
    status: true // 新的身份
  };
  const url = 'http://8.219.238.141/user/updateUserStatus'; 

  // 发送 POST 请求到后端来更新数据库
  wx.request({
    url: `${url}?wxid=${wxid}`, // 在 URL 中添加 id 
    method: 'POST',
    data: JSON.stringify(newStatus), // 将数据转换为 JSON 字符串
    header: {
  'Content-Type': 'application/json' // 设置请求头
},
    success(res) {
      console.log(res);
      wx.showToast({
        title: '恢复成功',
        icon: 'success',
        duration: 2000
      });
    },
    fail() {
      console.log('更新数据库失败');
    }
  });

  // 重新渲染用户界面
  this.setData({
  array:  this.data.array,
  normalArray:  this.data.normalArray,
  disabledArray:  this.data.disabledArray
  });
  
},

getArray(){
  let normalArray = [];
  let disabledArray = [];

  wx.request({
    url: 'http://8.219.238.141/user/getUserByIdentity?identity=0',
    method: 'POST',
    success: (res) => {
      console.log(res)
      this.setData({
        array: res.data.data
      })

      this.data.array.forEach(item => {
        if (item.status === true) {
          normalArray.push(item);
        } else if (item.status === false) {
          disabledArray.push(item);
        }
      });

      // 重新渲染用户界面
      this.setData({
        normalArray: normalArray,
        disabledArray: disabledArray
      });
    }
  });

},

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.getArray();
  },


  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    this.getArray();
    wx.stopPullDownRefresh();
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})